package view;

import Controlador.CtlAdicionar;
import Controlador.CtlConsulta;
import Model.Estabelecimento;

import java.awt.EventQueue;

import javax.swing.*;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class FormularioDetalhes {

	private JFrame frame;

 
    private int idEstabelecimento;

    private CtlAdicionar ctlAdicionar;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					FormularioDetalhes window = new FormularioDetalhes(1);
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public FormularioDetalhes(int idEstabelecimento) {
        this.idEstabelecimento = idEstabelecimento;
        ctlAdicionar = new CtlAdicionar();

		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setResizable(false);
		frame.getContentPane().setBackground(UIManager.getColor("Menu.background"));
		frame.setBounds(100, 100, 640, 717);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
        frame.setVisible(true);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);

        Estabelecimento estabelecimento = new CtlConsulta().getDetalhesEstabelecimento(idEstabelecimento);
		frame.setTitle("Detalhes de " + estabelecimento.getNome());

		JLabel lblTipo = new JLabel("Tipo: " + estabelecimento.getTipo());
		lblTipo.setBounds(32, 11, 168, 14);
		frame.getContentPane().add(lblTipo);
        lblTipo.setBorder(BorderFactory.createLineBorder(Color.BLACK));


        JLabel lblCidade = new JLabel("Cidade: " + estabelecimento.getCidade());
		lblCidade.setBounds(232, 11, 168, 14);
		frame.getContentPane().add(lblCidade);
		lblCidade.setBorder(BorderFactory.createLineBorder(Color.BLACK));


        JLabel lblZona = new JLabel("Zona: " + estabelecimento.getZona());
		lblZona.setBounds(423, 11, 168, 14);
		frame.getContentPane().add(lblZona);
        lblZona.setBorder(BorderFactory.createLineBorder(Color.BLACK));


        JLabel lblMorada = new JLabel("Morada: " + estabelecimento.getMorada());
		lblMorada.setBounds(32, 36, 368, 36);
		frame.getContentPane().add(lblMorada);
        lblMorada.setBorder(BorderFactory.createLineBorder(Color.BLACK));


        JLabel lblHorario = new JLabel("Horario: " + estabelecimento.getHorario());
		lblHorario.setBounds(423, 54, 113, 25);
		frame.getContentPane().add(lblHorario);
        lblHorario.setBorder(BorderFactory.createLineBorder(Color.BLACK));


        JButton btnFotografia = new JButton("Fotografia");
		btnFotografia.setBounds(32, 135, 204, 23);
		frame.getContentPane().add(btnFotografia);
		
		JButton btnComentrio = new JButton("Comentários");
		btnComentrio.setBounds(385, 135, 205, 23);
		frame.getContentPane().add(btnComentrio);
		
		JLabel lblAvaliao = new JLabel("Avaliação:");
		lblAvaliao.setBounds(32, 83, 70, 14);
		frame.getContentPane().add(lblAvaliao);
		
		JLabel lblGlobal = new JLabel("Global: " + estabelecimento.getAvaliacao());
		lblGlobal.setBounds(32, 108, 97, 14);
		frame.getContentPane().add(lblGlobal);
        lblGlobal.setBorder(BorderFactory.createLineBorder(Color.BLACK));


        JCheckBox chckbxASeguir = new JCheckBox("A Seguir");
		chckbxASeguir.setBounds(423, 86, 97, 23);
		frame.getContentPane().add(chckbxASeguir);

        TelaAdicionar telaAdicionar = new TelaAdicionar(idEstabelecimento);
        telaAdicionar.preencherEstabelecimento(Integer.toString(idEstabelecimento));
        telaAdicionar.setBounds(32, 169, 571, 456);
        frame.getContentPane().add(telaAdicionar);

        JButton btnSair = new JButton("Sair");
		btnSair.setBounds(364, 629, 221, 25);
		frame.getContentPane().add(btnSair);
        btnSair.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                    frame.setVisible(false);
                    frame.dispose();
            }
        });
	}
}
